﻿//<!--******************************************************************************************-->
//
//  警告: 本電腦程式著作受著作權法及國際公約之保護。


//  未經授權擅自複製或散佈本電腦程式著作之全部或部分
//  ，將導致嚴厲的民事或刑事處份，且將被依法提起最大


//  範圍的追訴。


//
//  CopyRight (C) Galaxy Software Service
//<!--******************************************************************************************-->
//*******************************************************************************
//程式代號：GSSGrid40.JS
//程式名稱：與GSSCM_ASPGRID21有關的共用函數庫
//目    的：與GSSCM_ASPGRID21有關的共用函數庫
//備   註 ：無
//範   例 ：無
//版本變更：


//  xx. YYYY/MM/DD   VER		AUTHOR		COMMENTS
//   1. 2003/05/19  	4.00 		CRD			New Create
//*******************************************************************************
function GSSGoToPage(vintGoPage,vintPageEnd,vintTotalPages,vstrGrdName,vintPageStart){
	var i;
	__grdASPGridInit(vstrGrdName);
	var objDIV=document.all(vstrGrdName + '__DIVPageCtl');	
	try {
		var objcolSPAN=objDIV.getElementsByTagName('SPAN');	
	} catch(err) {return false;}	
	
	var objTmp=document.getElementById(vstrGrdName+'GSSLastPageIndex');
	if(typeof(objTmp)=='object'){
		var intLastPageIndex=objTmp.value;
	}
	else{
		var intLastPageIndex=vintPageEnd;
	}
	
	var objTmp=document.getElementById(vstrGrdName+'GSSPageIndex');
	if(typeof(objTmp)=='object'){
		var intFirstPageIndex=objTmp.value;
	}
	else{
		var intFirstPageIndex=vintPageStart;
	}

	if(parseInt(intFirstPageIndex)<0){
		intFirstPageIndex=1}

	__grdSetStartPage(parseInt(intFirstPageIndex));
	__grdSetEndPage(parseInt(intLastPageIndex));	//避免透過innerHTML設定GRID資料發生錯誤

	__grdGoToPage(vintGoPage);
	document.all[vstrGrdName+'GSSPageShow'].value=vintGoPage;
	
	for(i=0;i<objcolSPAN.length;i++){
		if(parseInt(objcolSPAN[i].innerText)==vintGoPage){
			objcolSPAN[i].className='GSSclsActivePag';
		}
		else{
			objcolSPAN[i].className='GSSclsUnActivePag';
		}
	}
	if(vintGoPage==1){
		document.all(vstrGrdName + '__spanFstPg').className='GSSclsActivePag';
	}
	if(vintTotalPages==vintGoPage){
		objcolSPAN[objcolSPAN.length-1].className='GSSclsActivePag';
	}			
}

//<!--******************************************************************************************-->
//函數名稱：GSSgrdSubmitPage
//目        的：若需submit page取得表格內容時可以透過此方法submit page
//參數說明：vintAddPages：新增或減少的Page數目
//			vintTotalPages：總頁數
//			vstrGrdName：表格名稱


//			vintDisplayPages：顯示的頁數
//			vstrTarGet：submit page時使用的target
//			vstrURL：submit page時鏈結的URL
//版本變更：


//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSgrdSubmitPage(vintAddPages,vintTotalPages,vstrGrdName,vintDisplayPages,vstrTarGet,vstrURL){
	var objDIV;
	var intGoPage;
	var i;
	var strFormName='';
	var objSrc=event.srcElement;
	var objDocument=GSSGetDocument()
	var objForm=GSSGetParentElementByTag(objSrc,'FORM');
	var objPageIndex=objForm[vstrGrdName+'GSSPageIndex'];
	var objPageShow=objForm[vstrGrdName+'GSSPageShow'];

	if(typeof(vstrTarGet)!='string'){
		vstrTarGet=GSSgetAttribute(objSrc,'GSS_TARGET');
		if(vstrTarGet=='') vstrTarGet= '_self';
	}

	if(typeof(vstrURL)!='string'){
		vstrURL=GSSgetAttribute(objSrc,'GSS_URL');
		if(vstrURL=='') vstrURL= GSSgetAttribute(objSrc,'URL');
		if(vstrURL=='') vstrURL= '';
	}

	objDIV=document.all(vstrGrdName + '__DIVPageCtl');	
	var objcolSPAN=objDIV.getElementsByTagName('SPAN');
	for(i=0;i<objcolSPAN.length;i++){
		if(objcolSPAN[i].id.substr(vstrGrdName.length,7)=='__PgIdx'){
			intGoPage=objcolSPAN[i].innerText;
			break;}
	}
	if(parseInt(intGoPage)+vintAddPages<0){
		objPageIndex.value=1;
		objPageShow.value=1;}
	else{
		if(parseInt(intGoPage)+vintAddPages>vintTotalPages){
			if(typeof(vintDisplayPages)=='number'){
				objPageIndex.value=vintTotalPages-vintDisplayPages+1;}
			else{
				objPageIndex.value=vintTotalPages-vintDisplayPages;}
			objPageShow.value=vintTotalPages;
		}
		else{
			objPageIndex.value=parseInt(intGoPage)+vintAddPages;
			objPageShow.value=parseInt(intGoPage)+vintAddPages;}
		if(objPageIndex.value==0) objPageIndex.value=1
		if(objPageShow.value==0) objPageShow.value=1
	}
	GSScreateInputElm(objDocument,objForm,'GSSIS_RELOAD','HIDDEN','display:none;','Y');
	GSScreateInputElm(objDocument,objForm,'GSSStopRec','HIDDEN','display:none;','Y');
	
	//取得Disable的radio,checkbox,select，並設定回Enable
	var colRadio=GSSgetElementsByAttr(objForm,'INPUT','radio','disabled',true);
	GSSsetColAttr(colRadio,'disabled',false);
	var colCheckBox=GSSgetElementsByAttr(objForm,'INPUT','checkbox','disabled',true);
	GSSsetColAttr(colCheckBox,'disabled',false);
	var colSelect=GSSgetElementsByAttr(objForm,'SELECT','','disabled',true);
	GSSsetColAttr(colSelect,'disabled',false);

	objForm.target=vstrTarGet;
	objForm.action=vstrURL;
	objForm.submit();
	
	//將之前Enable的radio,checkbox,select改回Disable
	GSSsetColAttr(colRadio,'disabled',true);
	GSSsetColAttr(colCheckBox,'disabled',true);
	GSSsetColAttr(colSelect,'disabled',true);
}

function GSSgetGrdName(vvntObj){
	var objForm;
	if(vvntObj==null) return false;
	if(vvntObj.tagName!='TABLE'){
		var objTB=GSSGetParentElementByTag(vvntObj,'TABLE');}
	else{
		var objTB=vvntObj;}
		
	var strTB_ID=objTB.id;
	var intLastIndex=strTB_ID.lastIndexOf('gss');
	strTB_ID=strTB_ID.substr(0,intLastIndex);
	var objDocument=GSSGetDocument();
	if(event.srcElement!=null){
		objForm=GSSGetEditForm(event.srcElement);}
	else{
		objForm=GSSGetEditForm();}
	GSScreateInputElm(objDocument,objForm,'GSSGrdName','HIDDEN','display:none;','');
	__grdASPGridInit(strTB_ID);
	return strTB_ID;
}

function GSSSortGRD(vstrDataType){
	var objSrc=event.srcElement;
	var objForm=GSSGetParentElementByTag(objSrc,'FORM');
	var strGrdName=GSSgetGrdName(objSrc);
	objForm[strGrdName+'GSSSort_GRD'].value=__grdGetCaptionOnSortString(vstrDataType);
	objForm.target='_self';
	objForm.action='';

	//取得Disable的radio,checkbox,select，並設定回Enable
	var colRadio=GSSgetElementsByAttr(objForm,'INPUT','radio','disabled',true);
	GSSsetColAttr(colRadio,'disabled',false);
	var colCheckBox=GSSgetElementsByAttr(objForm,'INPUT','checkbox','disabled',true);
	GSSsetColAttr(colCheckBox,'disabled',false);
	var colSelect=GSSgetElementsByAttr(objForm,'SELECT','','disabled',true);
	GSSsetColAttr(colSelect,'disabled',false);
	objForm.submit();
	GSSsetColAttr(colRadio,'disabled',true);
	GSSsetColAttr(colCheckBox,'disabled',true);
	GSSsetColAttr(colSelect,'disabled',true);
}

function GSSgetSelDataFromGrd(vstrTB_ID,vstrTdID,vstrRowSign,vstrCellSign){
	if ((!vstrTB_ID)||(vstrTB_ID=='')) return '';
	if ((!vstrTdID)||(vstrTdID=='')) return '';
	if ((!vstrRowSign)||(vstrRowSign=='')) vstrRowSign='\\,';
	if ((!vstrCellSign)||(vstrCellSign=='')) vstrCellSign='\\|';

	var objDiv=document.getElementById(vstrTB_ID);

	if(typeof(objDiv)!='object') return false;
	var arrTB=objDiv.getElementsByTagName('TABLE');
	
	var arrTdID=vstrTdID.split(',');
	var strReturn='';
	for(var intTBIndex=0;intTBIndex<arrTB.length;intTBIndex++){
		var objTB=arrTB[intTBIndex];
		for (var i=0;i<objTB.rows.length;i++){
			var objTR=objTB.rows[i];
			var objCheckBox=objTR.cells[0].childNodes[0];			
			if(objCheckBox.checked){
				if(strReturn!='') strReturn=strReturn + vstrRowSign;
				for(j=0;j<arrTdID.length;j++){
					if(j>0) strReturn=strReturn + vstrCellSign;
					strReturn=strReturn + __grdGetTRAttribute(objTR,arrTdID[j]);}
			}
		}
	}
	return strReturn;
}

function GSSsetOpennerVal(){
    var objCodeID,objCodeName;
    if((typeof(GSS_DATAFLD)=='string')&&(GSS_DATAFLD!='')){
        var strDataFld=GSS_DATAFLD;
        var arrDataFld=strDataFld.split(',');}
    else{
        var arrDataFld=Array('CODE_ID','CODE_NAME');
	}                
    var objTR=__grdGetParentElementByTag(window.event.srcElement,'TR');


	var nameSrcCodeID=window.opener.document.all['GSSnameSrcCodeID'].value;
	objCodeID=window.opener.document.all[nameSrcCodeID];
    if (typeof(objCodeID)=='object'){
        objCodeID.value=__grdGetTRAttribute(objTR,arrDataFld[0]);}
        
	var objSrcCodeName=window.opener.document.all['GSSnameSrcCodeName'];
	if(typeof(objSrcCodeName)=='object'){
		var nameSrcCodeName=objSrcCodeName.value;
		objCodeName=window.opener.document.all[nameSrcCodeName];
    	if (typeof(objCodeName)=='object'){
    		if(arrDataFld.length>1){
        		objCodeName.value=__grdGetTRAttribute(objTR,arrDataFld[1]);
        	}
		}
	}

//    objCodeID.attachEvent('onproperitychange',rdoGUAR_TYPE_onclick_U);
    //帶回CODE_ID後如需執行SCRIPT可以撰寫Function名稱為:CODE_ID物件名稱 + _onSetCodeIDValue
	var strScript=' if (typeof(%_onSetCodeIDValue)==\'function\') %_onSetCodeIDValue();';
	strScript = strScript.replace(/%/g,nameSrcCodeID);
	window.opener.execScript(strScript);    	
	window.close();
}

function GSSgetGrdRowData(){
	var objTmp;
	var objSrc=event.srcElement;
	var objDocument=GSSGetDocument();
	var objForm=GSSGetEditForm(objSrc);
	var objTR=GSSGetParentElementByTag(objSrc,'TR');
	var objTB=GSSGetParentElementByTag(objTR,'TABLE');
        
//        記錄目前點選表格的INDEX指標
	GSScreateInputElm(objDocument,objForm,'GSSGrdSrcIndex','HIDDEN','display:none;',objTB.sourceIndex);

//	記錄目前點選列的INDEX指標
        GSScreateInputElm(objDocument,objForm,'GSSGrdRowIndex','HIDDEN','display:none;',objTR.rowIndex);
        GSScreateInputElm(objDocument,objForm,'GSSGrdRowSrcIndex','HIDDEN','display:none;',objTR.sourceIndex);
//	記錄目前點選表格的名稱


	var strTB_ID=GSSgetGrdName(objTB);
//	GSScreateInputElm(objDocument,objForm,'GSSGrdName','HIDDEN','display:none;',strTB_ID);
	var objTxtData=document.all[strTB_ID + 'GSSGrdRowData'];
	var strRowData=__grdWrapDataByTR(objTR);
	
	strRowData='<row>' + strRowData + '</row>';
	objTxtData.value=strRowData;
}

function GSSEditGrdData(vstrActFlag,vstrURL,vstrTarget,vstrFormName){
	var objSrc=event.srcElement;
	window.event.cancelBubble = true;
//	未傳遞vstrActFlag，自動由GSS_FLAG屬性取得其值


	if(!vstrActFlag){
		var strActFlag=GSSgetAttribute(objSrc,'GSS_FLAG');
		if(strActFlag==''){
			objSrc=GSSGetParentElementByTag(objSrc,'TD');
			strActFlag=GSSgetAttribute(objSrc,'GSS_FLAG');
		}
	}
	else{
		var strActFlag=vstrActFlag;}

	if(strActFlag!='ADD') GSSgetGrdRowData();

	if(!vstrURL){
		var strURL=GSSgetAttribute(objSrc,'GSS_URL');}
	else{
		var strURL=vstrURL;}

//	未設定路徑，不需Submit至另一頁


	if((strURL==null)||(strURL=='')) return false;
	
        if(!vstrTarget){
		var strTarget=GSSgetAttribute(objSrc,'GSS_TARGET');
	}
        else{
		var strTarget=vstrTarget;
	}

	if((strTarget=='')&&(strActFlag!='DEL')){
		strTarget='_self';
	}
	else{
		strTarget='IFrameExec';
	}
		
//	取得目前Page中的Form
	if(!vstrFormName){
		var objForm=GSSGetEditForm(objSrc);
	}
	else{
		var objForm=document.forms[vstrFormName];
	}
		
//	先取得原本的ActFlag待Submit後更改回原本的狀態


	var objActFlag=objForm['GSStxtActFlag'];
	var objFunDeep=objForm['GSStxtFunDeep'];
	if(typeof(objFunDeep)=='object'){
		if(objFunDeep.value==''){
			objFunDeep.value=0;
		}
		var intODeep=parseInt(objFunDeep.value);
		objFunDeep.value=intODeep+1;
	}

	var strCurActFlag=objActFlag.value;
	objActFlag.value=strActFlag;
	objForm.target=strTarget;
	objForm.method='POST';
	objForm.action=strURL;
	objForm.submit();
	if(typeof(objFunDeep)=='object') objFunDeep.value=intODeep;
	objActFlag.value=strCurActFlag;
}

//<!--******************************************************************************************-->
//函數名稱：GSSRemoveRow
//目        的：動態移除表格一列資料


//參數說明：vintAddPages：新增或減少的Page數目
//			vintTotalPages：總頁數
//			vstrGrdName：表格名稱


//			vintDisplayPages：顯示的頁數
//			vstrTarGet：submit page時使用的target
//			vstrURL：submit page時鏈結的URL
//版本變更：


//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSRemoveRow() {
	var objTmp;
	var strGrdName;
	var intRowIndex;
	var objDocument=GSSGetDocument();
	var objForm=objDocument.forms(0);
	
	objTmp=objDocument.getElementById('GSSGrdName');
	strGrdName=objTmp.value;

	objTmp=objForm.all['GSSGrdSrcIndex'];
	var intTbSrcIndex=parseInt(objTmp.value);
	var objTB=objDocument.all[intTbSrcIndex];	//Get TB Object
	
	objTmp=objDocument.getElementById(strGrdName + 'DataCount');
	objTmp.innerText=parseInt(objTmp.innerText)-1;
//	objTmp=objDocument.getElementById(strGrdName + '_DataCount');
//	if(typeof(objTmp)=='object'){
//		objTmp.value=parseInt(objTmp.value)-1;
//	}
	
	objTmp=objForm.all[strGrdName + 'GSSGrdData'];
	objTmp.value='';        //Clear Data
	
	objTmp=objForm.all['GSSGrdRowIndex'];       
	intRowIndex=parseInt(objTmp.value);
	objTB.deleteRow(intRowIndex);
	objTB.refresh();	//Refreshes the content of the table. 
						//This might be necessary after a call to a method such as removeRule, 
						//when the page does not automatically reflow.
	objTmp=objDocument.all['GSSGrdRowSrcIndex'];
	if(typeof(objTmp)=='object'){
		objTmp.value='';}
//	以下寫法於IE5.0會發生ERROR
//	objTB.rows[intRowIndex].removeNode(true);
}
function GSSappendRow(vstrGrdName,vstrData,vstrColID){
	GSSAppendRow(vstrGrdName,vstrData,vstrColID);
}
function GSSAppendRow(vstrGrdName,vstrData,vstrColID) {
    var objDocument=GSSGetDocument();
    var objGrdOutDIV=objDocument.getElementById(vstrGrdName);
    var objTmp=objDocument.getElementById(vstrGrdName+'PageCount');
    var intPageIndex=objTmp.innerText;
    var arrData=vstrData.split('\\,');
    var arrColID=vstrColID.split('\\|');
    var arrFldData;
    var strRecData;
    
    for(var i=0;i<arrData.length;i++){
        arrFldData=arrData[i].split('\\|');
        strRecData='';
        for(var j=0;j<arrFldData.length;j++){
            strRecData+=__grdWrapData(arrColID[j],arrFldData[j]);}
        __grdAddNewRecord(strRecData,vstrGrdName,intPageIndex)
    }
    objTmp=objDocument.getElementById(vstrGrdName + 'DataCount');
    objTmp.innerText=parseInt(objTmp.innerText)+arrData.length;
}


function GSSSaveGrdData(vstrTB_ID,vstrCHK_IS_SEL){
	var objTR,colChildNodes,objChild;
	var strTagName;
	var strData;
	var strRtn='';
	var vblnIS_SEL=false;
	var objDocument=GSSGetDocument();
    	
	if (!vstrTB_ID) vstrTB_ID=__grdGetTblName();
	__grdASPGridInit(vstrTB_ID);
	var colTR=__grdGetTableRows(vstrTB_ID);
    
	for(var i=0;i<colTR.length;i++){
		objTR=colTR[i];
		var colTD=objTR.cells;
		strRtn=strRtn + '<row>';
		strRtn=strRtn + objTR.getAttribute('__grdHIDDEN');
		for(var j=0;j<colTD.length;j++){
			strTagName=__grdGetTDColID(colTD[j].id);   
			if(typeof(document.all['GSStxtIsToLower'])=='object'){
				if(document.all['GSStxtIsToLower'].value=='Y'){
			 		strTagName=strTagName.toLowerCase();   
			 	}
			}
			colChildNodes=GSSgetElementsByAttr(colTD[j],'INPUT\\,SELECT\\,TEXTAREA');
			if(colChildNodes.length>0){
				strData='';
				for(var k=0;k<colChildNodes.length;k++){
					objChild=colChildNodes[k];
					if(objChild.tagName=='INPUT'){
						var strType=objChild.type.toUpperCase();
						if((strType=='CHECKBOX')||(strType=='RADIO')){
							if(objChild.value=='on'){
								//當CHECKBOX或RADIO未設定值時預設為on
								if(objChild.checked){
									vblnIS_SEL=true;
									strData='Y';}
								else{
									strData='N';}
							}
							else{	
								if((strType=='CHECKBOX')&&(strData!='')){
									strData += ',';
								}
								if(objChild.checked){
									vblnIS_SEL=true;
									strData=objChild.value;
								}
							}
						}	
						else{
							if(strData!='') strData += ',';
							strData=objChild.value;
						}
					}
					else{
						strData=objChild.value;}
				}	//for
			}
			else{
                			strData=colTD[j].innerText;
                		}
            		strRtn=strRtn + '<' + strTagName + '>' + __grdXMLReplace(strData) + '</' + strTagName + '>\n';
            		strData='';
		}
		strRtn=strRtn + '</row>\n';
	}
//    prompt('',strRtn);

	if(strRtn!=''){
		strRtn='<rows _tblname=\"' + vstrTB_ID + '\">\n' + strRtn + '</rows>\n';
	}
	var objTxtData=document.all[vstrTB_ID + 'GSSGrdData'];
	if(typeof(objTxtData)=='object') objTxtData.value=strRtn;
	if(typeof(vstrCHK_IS_SEL)=='string'){
		if(vstrCHK_IS_SEL=='Y') return vblnIS_SEL;
	}
}

//<!--******************************************************************************************-->
//函數名稱：GSSrepGRDInnerHTML
//目        的：置換表格的HTML
//參數說明：vstrGrdName：表格名稱


//          vstrInnerHTML：表格的HTML
//			vblnAppend：是否Append字串至原本的HTML後面
//版本變更：


//xx. YYYY/MM/DD AUTHOR  COMMENTS
// 1. 2002/07/26 Brenda  New Create
//備註：必須搭配GSSCM_ASPGRID21
//<!--******************************************************************************************-->
function GSSrepGRDInnerHTML(vstrGrdName,vstrInnerHTML,vblnAppend){
	GSSRepGRDInnerHTML(vstrGrdName,vstrInnerHTML,vblnAppend);
}
function GSSRepGRDInnerHTML(vstrGrdName,vstrInnerHTML,vblnAppend){
    var objDocument=GSSGetDocument();
    var objGrdOutDIV=objDocument.getElementById(vstrGrdName);
    if(!vblnAppend){
    	var blnAppend=false;}
    else{
    	var blnAppend=vblnAppend;}
	
    if(!blnAppend){
//    	避免原本已產生GRID的HTML時，因為傳入的字串為GRID的完整HTML，


//    	因此只須置換傳入字串的innerHTML
		var strStartDIV='<DIV ID=\"' + vstrGrdName + '\">';
		var strEndDIV='</DIV>';
		var intStartIndex=vstrInnerHTML.indexOf(strStartDIV);
		var intEndIndex=vstrInnerHTML.lastIndexOf(strEndDIV);
    	if(intStartIndex>-1){
    		objGrdOutDIV.innerHTML=vstrInnerHTML.substr(strStartDIV.length+1,vstrInnerHTML.length-6);}
    	else{
    		objGrdOutDIV.innerHTML=vstrInnerHTML;}
    }
    else{
    
    	objGrdOutDIV.innerHTML=objGrdOutDIV.innerHTML + vstrInnerHTML;
		var strStartDIV='<DIV id=\"';
		if(vstrInnerHTML!=''){
			var intStartIndex=vstrInnerHTML.indexOf(strStartDIV);
			var intEndIndex=vstrInnerHTML.indexOf('>',intStartIndex+10);
	    	var strGrdName=vstrInnerHTML.substring(intStartIndex+10,intEndIndex-1);
	    	if(strGrdName!=''){
	    		var objGrdOutDIV=objDocument.all[strGrdName];
	    	}
	    }
    }
//    清除點選的RowIndex資料
    var objRowIndex=objDocument.all['GSSGrdRowIndex'];
    var objRowSrcIndex=objDocument.all['GSSGrdRowSrcIndex'];
    if(typeof(objRowIndex)=='object'){
    	objRowIndex.value='';}
    if(typeof(objRowSrcIndex)=='object'){
    	objRowSrcIndex.value='';}
    
    if(vstrInnerHTML!=''){
	    var objGrdName=objGrdOutDIV.all['GSSGrdNameList'];
	    if(typeof(objGrdName)=='object'){
	    	var strGrdName=objGrdName.value;
			var intPageShow=objDocument.all[strGrdName + 'GSSPageShow'].value;
		    var intFstPage=objDocument.all[strGrdName + 'GSSPageIndex'].value;
		    var intTotalPages=objDocument.all[strGrdName + 'GSSTotalPages'].value;
		    var intPageEnd=objDocument.all[strGrdName + 'GSSPageEnd'].value;
			GSSGoToPage(intPageShow,intPageEnd,intTotalPages,strGrdName,intFstPage);
		}
	}
}


//<!--******************************************************************************************-->
//函數名稱：GSSgetTDTextFromTR
//目        的：取得GRID上TR內某個欄位的值

//參數說明：vstrFldName：欲取得的欄位名稱【透過AddData方式加入資料的ColumnID屬性】

//                 vobjTR：欲取得的TR物件【非必要參數，預設：為傳此參數時預設為目前點選的TR】

//版本變更：

//xx. YYYY/MM/DD AUTHOR  COMMENTS
// 1. 2002/07/26 Brenda  New Create
// 2. 2004/02/26 Brenda 修正如果不是透過事件驅動的方式取得Grid的某一列時，使用此方法會有錯誤
//備註：必須搭配GSSCM_ASPGRID21
//<!--******************************************************************************************-->
function GSSgetTDTextFromTR(vstrFldName,vobjTR){
	var strRtn='';
	var objTmp;
	var strTB_ID;
	var strRowData;
 	var objTR;
 	
	if(typeof(vstrFldName)!='string') return strRtn;
	if(vobjTR==null){
		GSSgetGrdRowData();
		objTR=GSSgetCurTR();}
	else{
 		objTR=vobjTR;}
 	strTB_ID=GSSgetGrdName(objTR);
	if(objTR!=null){
		strRtn=__grdGetTRAttribute(objTR,vstrFldName);}
	return strRtn;
}


function GSSgetCurTB(){
	var objDocument=GSSGetDocument();
	var objTmp=objDocument.all['GSSGrdSrcIndex'];
	if(typeof(objTmp)=='object'){
		var intTbSrcIndex=parseInt(objTmp.value);
		var objTB=objDocument.all[intTbSrcIndex];	//Get TB Object
		if(typeof(objTB)=='object'){
			if(objTB.tagName=='TABLE'){
				return objTB;}
		}
	}
}


function GSSgetCurTR(){
    var objDocument=GSSGetDocument();
    var objTmp=document.all['GSSGrdRowSrcIndex'];
    if(typeof(objTmp)!='object') return false;
    var intSrcIndex=objTmp.value;
    if(intSrcIndex!=''){
    	var objTR=objDocument.all[intSrcIndex];
    	return objTR;}
    else{
		return false;}
}
//<!--******************************************************************************************-->
//函數名稱：GSSresetPageShow
//目        的：重新查詢資料，更新起始頁碼為1
//參數說明：無
//版本變更：


//xx. YYYY/MM/DD AUTHOR  COMMENTS
// 1. 2002/07/26 Brenda  New Create
//備註：必須搭配GSSCM_ASPGRID21
//<!--******************************************************************************************-->
function GSSresetPageShow(){
	var objDocument=GSSGetDocument();
	//重新查詢資料，更新起始頁碼為1
	var objGrdName=objDocument.all['GSSGrdNameList'];

	if(typeof(objGrdName)=='object'){
		if(objGrdName.length){
			for(var i=0;i<objGrdName.length;i++){
				var strGrdName=objGrdName[i].value;
				var objPageIndex=objDocument.all[strGrdName + 'GSSPageIndex'];
				var objPageShow=objDocument.all[strGrdName + 'GSSPageShow'];
				objPageIndex.value=1;
				objPageShow.value=1;
			}
		}
		else{
			var strGrdName=objGrdName.value;
			var objPageIndex=objDocument.all[strGrdName + 'GSSPageIndex'];
			var objPageShow=objDocument.all[strGrdName + 'GSSPageShow'];
			objPageIndex.value=1;
			objPageShow.value=1;}
	}
}
//<!--******************************************************************************************-->
//函數名稱：GSSCheckAllRows
//目        的：全選表格的所有列
//參數說明：無
//版本變更：


//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2003/06/30	Brenda		New Create
//備註：必須搭配GSSCM_ASPGRID21
//<!--******************************************************************************************-->
function GSScheckAllRows(){
	GSSCheckAllRows();
}
function GSSCheckAllRows(){
	var objSrc=event.srcElement;
	var objTD=GSSgetParentElementByTag(objSrc,'TD');
	var intCellIndex=objTD.cellIndex;
	var objDIV=GSSgetParentElementByTag(objTD,'DIV').parentElement;
	var colTB=objDIV.getElementsByTagName('TABLE');
	var blnCheck=true;
	
	if(objSrc.checked){
		blnCheck=true;}
	else{
		blnCheck=false;}
	var intIndex=0;
	for(var i=0;i<colTB.length;i++){
		var colTR=colTB[i].rows;
		for(var j=0;j<colTR.length;j++){
			var objChk=colTR[j].cells[intCellIndex].getElementsByTagName('INPUT')[0];
			objChk.checked=blnCheck;
			//如果控制項有自訂onclick事件
			var strScript=' if (typeof(%_onclick)==\'function\') %_onclick(document.all.%[#]);';
			strScript = strScript.replace(/%/g,objChk.name);
			strScript = strScript.replace(/#/g,intIndex.toString());
			if(objChk.name!=''){
				window.execScript(strScript); 
				intIndex=intIndex+1;
			}
		}
	}
}

//<!--******************************************************************************************-->
//函數名稱：GSSsetGrdConfig
//目        的：開啟視窗設定表格的欄位寬度及是否顯示
//參數說明：無
//版本變更：


//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2003/06/30	Brenda		New Create
//備註：必須搭配GSSCM_ASPGRID21
//<!--******************************************************************************************-->

function GSSsetGrdConfig(vstrGrdName) {
	GSSwinOpened = window.open("GSSPUB/GSSGrdConfigUI40.ASPX?__grdName=" + vstrGrdName,null,"height=200,width=400,status=yes,directories=no,toolbar=no,menubar=no,location=no");
	GSSwinOpened.focus();
	document.body.attachEvent("onclick",GSSfocusWinOpened);
}